package com.qijian.flowable.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qijian.flowable.domain.FlowableRecord;
import com.qijian.flowable.domain.query.FlowableRecordQuery;
import com.qijian.flowable.domain.vo.ExecRecordVo;

import java.util.List;

/**
 * 流程记录Service接口
 *
 * @author qijian
 * @date 2021-09-17
 */
public interface IFlowableRecordService extends IService<FlowableRecord> {
    void updateByProcessIntaneId(String processInstanceId, String processInstanceFormData, String nickName, Long userId);

    Page<FlowableRecord> pageVo(Page<FlowableRecord> page, QueryWrapper<FlowableRecordQuery> queryWrapper);

    Page<FlowableRecord> pageVoNew(Page<FlowableRecord> page, QueryWrapper<FlowableRecordQuery> queryWrapper, FlowableRecordQuery query);

    void execRecord(ExecRecordVo vo);

    List<FlowableRecord> getHisRecord(String processInstanceId);


    int updateStatusByBack(String processInstanceId);


    String getProjectNoList(Long id, String processDefinitionKey);


    int updateStatusByReStart(FlowableRecord record);
}
